package com.javaspeak.designpatterns.go4.behavioural.strategy;

/**
 * This interface is optional in the Stategy pattern. It provides a contract for
 * the appliction using the strategy pattern to swap in Strategies and execute
 * them.
 *
 * @author John Dickerson
 */
public interface StrategyContext {

    /**
     * Set the strategy
     *
     * @param strategy the implementation of the strategy provides an
     * implementation of the drawShape(..) method
     */
    public void setStrategy( Strategy strategy );

    public void executeStrategy();
}
